import time
from concurrent.futures import ThreadPoolExecutor


def task(name, n):
    time.sleep(n)
    return f"{name} 睡了 {n} 秒"


def task2(name):
    for index in range(100):
        print(name, index)
def task3(name):
    return (name, 1)


# 创建一个线程池
# 里面还可以指定 max_workers 参数，表示最多创建多少个线程
# 如果不指定，那么每提交一个函数，都会为其创建一个线程
executor = ThreadPoolExecutor()

# 通过 submit 即可将函数提交到线程池，一旦提交，就会立刻运行
# 因为开启了一个新的线程，主线程会继续往下执行
# 至于 submit 的参数，按照函数名，对应参数提交即可
# 切记不可写成task("古明地觉", 3)，这样就变成调用了
# future = executor.submit(task, "屏幕前的你", 3)
future = executor.submit(task2, "屏幕前的你")
future3 = executor.submit(task3, "屏幕前的你3")
print(future3)
